home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Animation How-To
/
Animation How-to CD.iso
/
PLY
/
CHAPTER2
/
DRIP
/
ANGRY.PI
< prev
next >
Wrap
Text File
|
1994-01-01
|
5KB
|
203 lines
//
// ANGRY.PI Angry Dripping Animation
//
// Polyray input file - Jeff Bowermaster
// Define the range of the animation
start_frame 0
end_frame 89
total_frames 90
define shift frame/30
outfile angr
define pi 3.14159
define rad pi/180
// Set up the camera
viewpoint {
from <10,10,-10>
// from rotate(<8,8,-8>,<0,frame,0>)+<0,2*sin(frame*rad),0>
at <0,0,0>
up <0,1,0>
angle 45
resolution 320,240
aspect 1.33
}
// Set up background color & lights
background skyblue
define dim <0.9,0.9,0.9>
spot_light dim,<10,20,-10>,<0,0,0>, 3, 15, 30
include "\ply\colors.inc"
define blue_glass
texture {
surface {
ambient yellow, 0.1 // 0.2
diffuse midnightblue, 0.2 //0.6
specular 0.9 //0.6
reflection white, 0.05 //0.1
microfacet Phong 2
transmission white, 0.98, 1.5 //0.95
}
}
define annoying_marble1
texture {
noise surface {
color white
position_fn 1
lookup_fn 1
octaves 3
turbulence 3
ambient 0.3
diffuse 0.8
specular 0.3
microfacet Reitz 5
color_map(
[0.0, 0.8, Yellow, Yellow*0.6]
[0.8, 1.0, Yellow*0.6,Navyblue])
}
translate <shift,0,-shift>
}
define annoying_marble2
texture {
noise surface {
color white
position_fn 1
lookup_fn 1
octaves 3
turbulence 3
ambient 0.3
diffuse 0.8
specular 0.3
microfacet Reitz 5
color_map(
[0.0, 0.8, Navyblue, Navyblue*0.6]
[0.8, 1.0, Navyblue*0.6,Yellow])
}
translate <shift,0,-shift>
}
// Create a floor
define ground1
object {
polynomial y + 0.01
texture { checker annoying_marble1, annoying_marble2}
scale <6, 6, 6>
translate <0,-10,0>
}
define ground2
object {
polynomial y + 0.01
texture { checker annoying_marble2, annoying_marble1}
scale <6, 6, 6>
translate <0,-10,0>
}
// A blob explodes along the xyz axes
define framer frame/30
define dripper
object {
blob 0.10:
0.1, 3.0, < 1, 1, 0>*framer,
0.1, 3.0, < 0, 1, 1>*framer,
0.1, 3.0, < 1, 0, 1>*framer,
0.1, 3.0, <-1,-1, 0>*framer,
0.1, 3.0, < 0,-1,-1>*framer,
0.1, 3.0, <-1, 0,-1>*framer,
0.1, 3.0, <-1, 1, 0>*framer,
0.1, 3.0, < 0,-1, 1>*framer,
0.1, 3.0, <-1, 0, 1>*framer,
0.1, 3.0, < 1,-1, 0>*framer,
0.1, 3.0, < 0, 1,-1>*framer,
0.1, 3.0, < 1, 0,-1>*framer,
0.1, 3.0, < 1, 1, 1>*framer,
0.1, 3.0, <-1,-1,-1>*framer,
0.1, 3.0, <-1, 1, 1>*framer,
0.1, 3.0, < 1,-1, 1>*framer,
0.1, 3.0, < 1, 1,-1>*framer,
0.1, 3.0, <-1, 1,-1>*framer,
0.1, 3.0, < 1,-1,-1>*framer,
0.1, 3.0, <-1,-1, 1>*framer,
0.1, 3.0, < 2, 2, 0>*framer,
0.1, 3.0, < 0, 2, 2>*framer,
0.1, 3.0, < 2, 0, 2>*framer,
0.1, 3.0, <-2,-2, 0>*framer,
0.1, 3.0, < 0,-2,-2>*framer,
0.1, 3.0, <-2, 0,-2>*framer,
0.1, 3.0, <-2, 2, 0>*framer,
0.1, 3.0, < 0,-2, 2>*framer,
0.1, 3.0, <-2, 0, 2>*framer,
0.1, 3.0, < 2,-2, 0>*framer,
0.1, 3.0, < 0, 2,-2>*framer,
0.1, 3.0, < 2, 0,-2>*framer,
0.1, 3.0, < 2, 2, 2>*framer,
0.1, 3.0, <-2,-2,-2>*framer,
0.1, 3.0, <-2, 2, 2>*framer,
0.1, 3.0, < 2,-2, 2>*framer,
0.1, 3.0, < 2, 2,-2>*framer,
0.1, 3.0, <-2, 2,-2>*framer,
0.1, 3.0, < 2,-2,-2>*framer,
0.1, 3.0, <-2,-2, 2>*framer,
0.1, 3.0, < 3, 3, 0>*framer,
0.1, 3.0, < 0, 3, 3>*framer,
0.1, 3.0, < 3, 0, 3>*framer,
0.1, 3.0, <-3,-3, 0>*framer,
0.1, 3.0, < 0,-3,-3>*framer,
0.1, 3.0, <-3, 0,-3>*framer,
0.1, 3.0, <-3, 3, 0>*framer,
0.1, 3.0, < 0,-3, 3>*framer,
0.1, 3.0, <-3, 0, 3>*framer,
0.1, 3.0, < 3,-3, 0>*framer,
0.1, 3.0, < 0, 3,-3>*framer,
0.1, 3.0, < 3, 0,-3>*framer,
0.1, 3.0, < 3, 3, 3>*framer,
0.1, 3.0, <-3,-3,-3>*framer,
0.1, 3.0, <-3, 3, 3>*framer,
0.1, 3.0, < 3,-3, 3>*framer,
0.1, 3.0, < 3, 3,-3>*framer,
0.1, 3.0, <-3, 3,-3>*framer,
0.1, 3.0, < 3,-3,-3>*framer,
0.1, 3.0, <-3,-3, 3>*framer,
0.5, 3.0, <0,0,0>
root_solver Ferrari
u_steps 20
v_steps 20
blue_glass
}
dripper { rotate <0,frame,0> }
define shift frame/30
if (fmod(frame,2)==0)
ground1 { translate <-2*shift,0,2*shift> }
else
ground2 { translate <-2*shift,0,2*shift> }